[Terraform] Terraform入門(2) - 變數
前言
本篇為Terraform系列的第二篇,紀錄Terraform如何定義及應用變數
Hands on Lab
變數宣告
variable
開頭做變數宣告,後面接自定義的變數名稱,如下方範例,變數名為iam_user_name
,變數值為my_iam_user
1 |
|
若無給予
default
這個屬性的話,執行terraform apply
後會要求輸入值。
匯出變數
除了上面使用變數宣告的方法外,也可以在終端機中輸入指令來定義變數,如:
Mac版
採export TF_VAR_iam_user_name=VALUE
的語法來匯出變數。
1 |
|
匯出變數後執行terraform plan -refresh=false
查看變化
上圖可觀察到iam_user_name
替換成test_prefix
Windows版
相異於Mac指令,Windows版採用SET VARIABLE=VALUE
指令來匯出變數。
取用變數值
採var.*
的方式來取得變數值,如延續上一篇文的範例:
1 |
|
更改後執行terraform apply
指令。
另外也可以透過terraform console
的方式驗證是否能取得變數值。
賦予變數型態
既然能給變數值,那當然也可以定義變數型態啦,只要在宣告變數的地方給予type
屬性,並指定哪個型態作為屬性值。如:
1 |
|
統一管理變數(variable)
我們可以另外建一個terraform.tfvars
或是*.auto.tfvars
檔案來集中管理變數。
範例
於根目錄下建立一terraform.tfvars
檔案,此檔寫入
1 |
|
表示宣告變數iam_user_name
,並賦予值tf_file_test_iam_user_name
。
執行terraform plan -refresh=false
查看變化